搭建Anaconda和jupyter notebook
一.什么是Anaconda
Anaconda可以便捷获取包且对包能够进行管理,同时对环境可以统一管理的发行版本。Anaconda包含了conda、Python在内的超过180个科学包及其依赖项。
2. 特点
Anaconda具有如下特点:
- 开源
- 安装过程简单
- 高性能使用Python和R语言
- 免费的社区支持
其特点的实现主要基于Anaconda拥有的:
- conda包
- 环境管理器
- 1,000+开源库
3.Anaconda安装
Anaconda官方提供了三种不同的版本,除了Individual Edition个人版免费以外,其他2种版本都是收费的.所以这里选择Anaconda个人版.
3.1 Docker安装(有坑,弃用了)
我刚开始选择的是用Docker运行,使用的是Anaconda的镜像:continuumio/anaconda3.用Dockerfile在此基础之上安装了多个python扩展模块自定义了一个镜像.Dockerfile内容如下:
1 | FROM continuumio/anaconda3:latest |
requirement.txt内容如下:
1 | pyecharts |
docker部署的anaconda在运行jupyter notebook的时候提示kernel restarting
.容器日志内容如下:
1 | [I 07:25:59.512 NotebookApp] Restoring connection for da9ccce4-dac5-42d1-aef3-2f37c0689e0c:61003e8cadbc408b9ee98174729d5086 |
这个故障在搜遍了Google和baidu后也无解,尝试了网上各种解决办法也不行.所以果断弃掉,转而使用Linux虚拟机部署
3.2 Linux部署安装(成功)
Anaconda的安装官方文档.建议已root用户安装,或者你的普通用户有执行/home/$(USER)/anaconda3/bin/python3
的sudo权限
1.首先下载python的anaconda安装脚本,建议选择python3的版本
https://www.anaconda.com/products/individual#linux
2.安装依赖包
1 | yum install libXcomposite libXcursor libXi libXtst libXrandr alsa-lib mesa-libEGL libXdamage mesa-libGL libXScrnSaver |
3.执行下载下来的脚本文件.根据提示,一直选择默认就可以了,官方不建议更改安装路径
1 | bash ~/Anaconda3-2020.02-Linux-x86_64.sh |
We recommend you accept the default install location. Do not choose the path as /usr for the Anaconda/Miniconda installation.
4.如果提示Thank you for installing Anaconda<2 or 3>!
则说明安装完成,应用环境变量
1 | source ~/.bashrc |
5.验证安装结果
1 | condal list #显示已经安装的包和版本好 |
至此,Anaconda和anaconda自带的jupyter notebook都已经安装完了
4.jupyter notebook 扩展模块安装
公司的BI团队需要使用jupyter notebook访问MySQL、pgsql、hive,画图等工作,所以需要安装python的部分扩展模块.首先查看服务器上pip版本.需要使用python3的pip来安装模块
1 | #显示pip版本是python3 |
- 安装依赖文件,否则安装
thriftpy
模块会报错
1 | yum install gcc-c++ gcc python3-devel python-dev cyrus-sasl cyrus-sasl-devel cyrus-sasl-lib |
如果是ubuntu系统,则需要安装如下安装包: apt-get install -y python-dev gcc g++ libsasl2-dev
- 编写requirement文件,将所需要安装的python扩展模块加入到文件中
1 | pyecharts |
3.安装
1 | pip install -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com -r requirement.txt |
安装完依赖包jupyter_contrib_nbextensions
以后,安装一个服务:
1 | jupyter-contrib-nbextension install --user |
4.初始化jupyter配置文件,会在默认路径下初始化一个配置文件/root/.jupyter/jupyter_notebook_config.py
1 | jupyter notebook --generate-config |
5.编辑文件,修改如下配置
1 | c.NotebookApp.ip='当前服务器IP' |
6.启动服务.记下pid号,后面要重启
1 | nohup jupyter-notebook --config=/root/.jupyter/jupyter_notebook_config.py & |
7.打开浏览器,输入IP地址,此时会进入jupyter的界面.要求输入Token,或者使用Token设置一个密码
8.根据提示,使用命令jupyter notebook list
查看Token
1 | base) root@anaconda:/# jupyter notebook list |
9.拿到Token后,在浏览器中下方位置设置一个新密码.
10.设置完密码后,成功登陆了jupyter的工作界面.此时kill掉jupyter进程,重启
1 | #关闭进程 |
11.此时再次打开浏览器,就提示输入密码
12.输入密码后,成功登陆